要檢測時間序列分析是否準確,將資料分成訓練資料(除了最後一整年以外)、測試資料(最後一整年),
newdata_t<-ts(as.vector(newdata[1:150]),frequency=12,start=c(2005,1))
newdata_test =ts(as.vector(newdata[150:162]),frequency=12,start=c(2017,7))
用
arima1<-auto.arima(newdata_t,trace=T)
自動找出最適合的arima模型
plot(forecast(Arima(newdata_t,order=c(2,1,1),seasonal=c(1,0,1)),h=12))
並且作圖
train = forecast(Arima(newdata_t,order=c(2,1,1),seasonal=c(1,0,1)),h=12)
把預測資料取出來,並且與實際資料合併
take_a_look = cbind(unlist(train[4]),newdata[150:162])
畫出兩條線
matplot(ts(take_a_look[,1:2]),pch = 1,lty=1,type="l",
xlab = "Time",ylab = "人數",main="預測的準確性"
)